#import <Foundation/Foundation.h>
#import "WebParsable.h"

/**
 * A WebCacheOperation is an object representing a single operation
 * of downloading and parsing elements from a website.
 *
 * @author      James Lin
 * @version     1.3.1
 * @since       1.0.2
 * @see         WebParsable
 */
@interface WebCacheOperation : NSOperation {
	id<WebParsable> webSource;    // The parsable web source
	BOOL            _isExecuting; // Whether the operation is executing
	BOOL            _isFinished;  // Whether the operation has finished
}

/**
 * Initialize the website caching operation.
 *
 * @param webParsable      the parsable website source
 * @return                 the initialized WebCacheOperation
 * @see	                   WebParsable
 */
- (id)initWithWebParsable:(id<WebParsable>)webParsable;

@end
